package cn.iocoder.yudao.module.trade.service.order;

import cn.iocoder.yudao.module.trade.controller.app.order.vo.AppTradeOrderCreateReqVO;
import cn.iocoder.yudao.module.trade.dal.dataobject.order.TradeOrderDO;
import cn.iocoder.yudao.module.trade.enums.order.TradeOrderOperateTypeEnum;
import cn.iocoder.yudao.module.trade.framework.order.core.annotations.TradeOrderLog;
import org.springframework.transaction.annotation.Transactional;

/**
 * 交易订单【创建】 Service 接口
 *
 */
public interface TradeOrderCreateService {


    @Transactional(rollbackFor = Exception.class)
    @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.MEMBER_CREATE)
    TradeOrderDO createOrder(Long userId, Long deliveryUserId, String userIp, AppTradeOrderCreateReqVO createReqVO, Integer terminal);
}
